草庐IT

java - 测试字符串 Junit

全部标签

ruby - 你如何字符串化/序列化 Ruby 代码?

我希望能够在我的Ruby代码中编写一个lambda/Proc,将其序列化以便我可以将其写入磁盘,然后稍后执行lambda。有点像……x=40f=lambda{|y|x+y}save_for_later(f)稍后,在单独运行Ruby解释器时,我希望能够说...f=load_from_beforez=f.call(2)z.should==42Marshal.dump不适用于Procs。我知道Perl有Data::Dump::Streamer,而在Lisp中这是微不足道的。但是有没有办法在Ruby中做到这一点?换句话说,save_for_later的实现是什么??编辑:Myanswerbel

iphone - iPhone 原生应用的测试驱动设计

我正在试验iPhoneSDK并在Nic博士的rbiPhoneTest项目中做一些TDD。我想知道有多少人(如果有的话)成功地使用了这个或任何其他iPhone/Cocoa测试框架?更重要的是,我想知道如何最好地断言专有的二进制请求/响应协议(protocol)。这个想法是通过网络发送二进制请求并接收二进制响应。请求和响应是使用byteand'ing和or'ing创建的。我正在使用黄金副本模式来测试我的请求。这是我到目前为止所拥有的。不要笑,因为我是ObjectiveC和Ruby的新手:requireFile.dirname(__FILE__)+'/test_helper'require'

ruby-on-rails - 如何只测试重定向到的 URL 的一部分(使用 assert_redirected_to)?

在我的Rails应用程序的功能测试中,我想测试我被重定向到的位置。预期的URL指向外部资源(这意味着它不是我的应用程序的一部分)。URL如下所示:https://my.url.com/foo?bar1=xyz&bar2=123不幸的是我无法预测参数,因为它们是由外部资源生成的。*但是,URL的其余部分始终保持不变:https://my.url.com/foo我通常使用assert_redirected_to进行此类测试,但这需要整个URL,包括参数。谁能想出另一种方法来测试该重定向,但只检查没有参数的URL的第一部分?(该URL不在assigns哈希中)*(我对应用程序进行API调用,

ruby - 如何告诉 rspec 在没有未决测试输出的情况下运行?

有没有办法(也许是一些关键)告诉rspec跳过挂起的测试并且不打印有关它们的信息?我有一些自动生成的测试,比如pending"addsomeexamplesto(ordelete)#{__FILE__}"我运行“bundleexecrspecspec/models--formatdocumentation”并得到如下信息:RatingallowstoratefirsttimedisallowtoratebooktwiceCustomeraddsomeexamplesto(ordelete)/home/richelieu/Code/first_model/spec/models/cust

ruby - (Ruby) 是否有一个函数可以轻松找到字符串中的第一个数字?

例如,如果我输入“ds.35bdg56”,该函数将返回35。是否有类似的预制函数,或者我是否需要遍历字符串,找到第一个数字并查看它有多长去然后返回那个? 最佳答案 >>'ds.35bdg56'[/\d+/]=>"35"或者,既然你确实要求了一个功能......$irb>>deffx;x[/\d+/]end=>nil>>f'ds.35bdg56'=>"35"你真的可以从中获得一些乐趣:>>classString;deffirstNumber;self[/\d+/];end;end=>nil>>'ds.35bdg56'.firstNum

ruby - 摩卡模拟进行另一项测试

我一直在关注15TDDstepstocreateaRailsapplication指南-但遇到了一个我似乎无法解决的问题。对于WordsController的功能测试,我有以下代码:classWordsControllerTest在Word类中,我有以下代码:classWord当我运行测试时,我遇到以下错误(为简洁起见缩短):1)Failure:unexpectedinvocation:Word(...).random()satisfiedexpectations:-expectedexactlyonce,alreadyinvokedonce:Word(...).random()我曾尝

ruby-on-rails - 使用\而不是 + 或 << 来连接这些字符串

我正在使用rubocop基本上清理我凌乱的代码...其中一个错误是:Use\insteadof+or这是为什么?我在Rubydocumentation中找不到它.我为什么要使用\而不是+或? 最佳答案 在Ruby中,文字字符串在遇到时会作为对象分配到内存中。如果连接两个字符串文字,如str="foo"+"bar"你实际上会分配三个String对象:"foo","bar"以及连接的结果(然后由str引用)。如果你这样做,也会发生同样的情况:"foo"在许多情况下,这只是轻微的低效率,您不必太担心。但是,请注意,如果您在循环中执行此操作

ruby - 在 Ruby 中将唯一的种子字符串转换为随机但确定的浮点值

我在概念上遇到了困难。基本上,我需要接受一些任意的唯一字符串,并能够将其转换为规范化的浮点值。输出浮点值是什么并不重要,只要相同的字符串输入总是产生相同的规范化浮点输出即可。所以这是一个哈希算法,对吗?我熟悉SHA1或MD5,这似乎类似于密码散列,正确密码的结果相同。但是我相信那些方法会输出字符串。我没有得到的是如何将SHA1或MD5的结果转换为一致的浮点值。#Goaldefstring_to_float(seed_string)#...endstring_to_float('abc-123')#=>0.15789string_to_float('abc-123')#=>0.15789

ruby - 如何打印 unicode 字符 U-1F4A9 'pile of poo' 表情符号

我正在尝试在Ruby中打印一个unicode字符,特别是一堆便便。它的unicode值为U-1F4A9。但是当我尝试将“\u1F4A9”打印到输出或文件时,我什么也没看到。我是否需要打印到特定类型的文件才能看到一堆便便?如果是这样,什么类型的文件?有没有办法将其打印到公共(public)输出?(我正在使用Rubymine) 最佳答案 超过四个十六进制数字的Unicode代码点必须用花括号括起来:puts"\u{1f4a9}"#=>?这方面的文档很少,所以不要因为没有弄明白而难过。大括号语法的一个好处是您可以嵌入多个由空格分隔的代码点

Ruby 只获取/放置字符串?

我是Ruby的新手,目前正在编写一些练习代码,如下所示:puts'Hellothere,Canyoutellmeyourfavouritenumber?'num=gets.chompputs'Yourfavouritenumberis'+num+'?'puts'Wellitsnotbadbut'+num*10+'isliterally10timesbetter!'然而,这段代码只是放置了num变量的十个副本,实际上并没有乘以这个数字,所以我假设我需要让“num”变量成为一个整数?我在这方面没有成功,所以任何人都可以告诉我哪里出错了吗? 最佳答案